package com.example.mysql.学习笔记.基础.函数;

public class 聚合函数 {
}
/**
 * 聚合函数
 * 都会自动过滤空值
 *
 * AVG() 平均 (空值不在计算中)   如果计算字符串mysql直接返回0 其他报错
 *      AVG()计算的是不是空值的平均值
 * SUM()  和  (空值不在计算中)
 * 只适用于数值类型
 *
 * MAX()  最大值
 * MIN()  最小值
 * 可以进行字符串比较
 *
 *
 *
 * COUNT() 计数
 * 计算指定字段结构中"不为空"的"个数"
 *
 * 想要计算一个表一共有多少数据
 * COUNT(*)
 * COUNT(1)
 * COUNT(没用空的字段)
 * 那到底哪个效率高呢？
 * MylSAM存储引擎//5.7及一下   效率相等
 * 如果是MySQL MyISAM存储引擎,统计数据表的行数只需要0(1)的复杂度，
 * 这是因为每张MylSAM的数据表都有个meta信息存储了row-count值,而-致性则由表级锁来保证。
 *
 * mysql 8.0用的是InnoDB存储引擎
 * COUNT(*)=COUNT(1)>COUNT(没用空的字段)
 * 因为InnoDB支持事务,采用行级锁和MVCC机制，所以无法像MylSAM-样，
 * 只维护一个row_count变量,因此需要采用扫描全表，进行循环+计数的方式
 * 来完成统计。
 *
 *
 * 方差、标准差、中位数
 */